// fs.truncate 截断或者拓展文件到制定的长度
// fs.ftruncate和 truncate 一样，但将文件描述符作为参数
// fs.chown改变文件的所有者以及组
// fs.fchown和 chown 一样，但将文件描述符作为参数
// fs.lchown和 chown 一样，但不解析符号链接
// fs.stat获取文件状态
// fs.lstat 和 stat 一样，但是返回信息是关于符号链接而不是它指向的内容
// fs.fstat 和 stat 一样，但将文件描述符作为参数
// fs.link 创建一个硬链接
// fs.symlink 创建一个软连接
// fs.readlink 读取一个软连接的值
// fs.realpath 返回规范的绝对路径名
// fs.unlink 删除文件
// fs.rmdir 删除文件目录
// fs.mkdir 创建文件目录
// fs.readdir 读取一个文件目录的内容
// fs.close 关闭一个文件描述符
// fs.open 打开或者创建一个文件用来读取或者写入
// fs.utimes 设置文件的读取和修改时间
// fs.futimes 和 utimes 一样，但将文件描述符作为参数
// fs.fsync 同步磁盘中的文件数据
// fs.write 写入数据到一个文件
// fs.read 读取一个文件的数据

// const fs = require('fs');
// const readable = fs.createReadStream('./original.txt');
// const writeable = fs.createWriteStream('./clear.txt');
// readable.pipe(writeable);

// 监视文件和文件夹
// const fs = require('fs');
// fs.watch('./watchdir', console.log); // 稳定且快
// fs.watchFile('./watchdir', console.log); // 跨平台

// 逐行地读取文件流
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
  input: fs.createReadStream('./json-lines.txt'),
  crlfDelay: Infinity
});
rl.on('line', (line) => {
  console.log(`cc ${line}`);
  const extract = line.match(/(\d+\.\d+\.\d+\.\d+) (.*)/);
  console.log(extract);
});